-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Convert rustfmt from a submodule to a subtree #82208
Conversation
…nt-prefix add static support for raw prefix identifiers
…e previous commit. The previous commit could be part of the current PR.
e677516
to
34368ec
Compare
Going to temporarily close this - it seems to be causing some trouble on bors, which is stalling out builds for other PRs. I will reopen and investigate in more detail tomorrow, but don't want to stall the queue overnight (for me). |
Let's see if we can reopen now without harm. Also to be sure: |
Can this be r+'d again? Looks like the merge conflict was resolved? |
We can try. @bors r+ rollup=never |
📌 Commit 34368ec has been approved by |
☀️ Test successful - checks-actions |
Update RLS Contains rust-lang/rls#1736. With rust-lang#82208 merged, this should now close rust-lang#85225. Tested locally with `./x.py test src/tools/rls` and seems to be working as expected. I noticed the rustfmt merge didn't trigger toolstate upgrade (because we pruned most but not all of the related machinery?), so I'd rather get this rubber-stamped by someone more knowledgeable with infra/the merged changes in case I missed something and need to include something else here to unbreak the RLS toolstate. r? `@Mark-Simulacrum`
Remove rustfmt tests from top-level .gitattributes These are tracked in src/tools/rustfmt/.gitattributes already, they don't need to be listed twice. r? `@ehuss` since you suggested adding them in rust-lang#82208; I think it should be ok now that bors isn't trying to merge the `subtree add` changes. cc `@calebcartwright`
r? @calebcartwright cc @Manishearth @Mark-Simulacrum
The motivation is that submodule updates cause rustfmt to not be available on nightly a lot; most recently it was unavailable for over 10 days, causing the beta release to be delayed. Additionally this is much less work on the part of the rustfmt maintainers to keep the rustfmt compiling, since now people making breaking changes will be responsible for fixing them.
I kept the rustfmt git history so it looks like there are thousands of commits. The important commits are https://github.com/rust-lang/rust/compare/851dee3af9404bf399c3c4ffefe5105edb3debad~..pull/82208/head. This adds about 10 MB of git history, which is not terribly much compared to the 702 MB that already exist.
Add
src/tools/rustfmt
tox.py check
Fix CRLF issues with rustfmt tests (see commit for details)
Use
rustc_private
instead of crates.io dependenciesThis was already switched upstream and would have landed in the next submodule bump anyway. This just updates Cargo.lock for rust-lang/rust.
Add
yansi-term
to the list of allowed dependencies.This is a false positive - rustc doesn't actually use it, only rustfmt, but because it's activated by the cargo feature of a dependency, tidy gets confused. It's fairly innocuous in any case, it's used for color printing.
This would have happened in the next submodule bump.
Remove rustfmt from the list of toolstate tools.
Give a hard error if testing or building rustfmt fails.
Update log to 0.4.14
This avoids a warning about semicolons in macros; see the commit for details.
Don't add tools to the sysroot when they finish building.
This is the only change that could be considered a regression - this avoids a "colliding StableCrateId" error due to a bug in resolve (creader: Host crate loaded twice produces different
CrateNum
s if host != target #56935). The regression is that this rebuilds dependencies more often than strictly necessary. See the commit for details.Fixes #85226 (permanently). Closes #82385. Helps with #70651. Helps with #80639.